/*
 *  Copyright (c) 2018 Otávio Santana and others
 *  All rights reserved. This program and the accompanying materials
 *  are made available under the terms of the Eclipse Public License v1.0
 *  and Apache License v2.0 which accompanies this distribution.
 *  The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
 *  and the Apache License v2.0 is available at http://www.opensource.org/licenses/apache2.0.php.
 *  You may elect to redistribute this code under either of these licenses.
 *  Contributors:
 *  Otavio Santana
 */
package org.jnosql.query;

/**
 * it is used to sort the result-set in ascending or descending order.
 */
public interface Sort {

    /**
     * The name
     * @return the name
     */
    String getName();

    /**
     * It defines if it is either ascending or descending order.
     * @return the {@link SortType}
     */
    SortType getType();

    /**
     * The sort type
     */
    enum SortType {
        /**
         * ascending order
         */
        ASC,
        /**
         * descending order
         */
        DESC
    }
}
